package curso.maven.cidades.persistencia.hibernate;

import javax.annotation.Resource;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

import curso.maven.cidades.negocio.Cidade;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:spring-configuracao-teste-cidades.xml", "classpath:spring-persistencia-cidades.xml"})
@TransactionConfiguration(transactionManager="GerenteTransacao", defaultRollback=true)
@Transactional
public class RespositorioCidadesHibernateIT {
	@Resource(name="RepositorioCidades")
	private RepositorioCidadesHibernate repositorioCidades;
	
	@Test
	public void deveRetornarCidadeExistente() {
		Cidade cidade = repositorioCidades.recuperarCidadePorCodigo("01");
		Assert.assertNotNull(cidade);
		Assert.assertEquals("Brasilia", cidade.getNome());
		Assert.assertEquals("DF", cidade.getUf());
	}
}
